32.2.2 发送消息

Spring的AmqpTemplateAmqpAdmin会被自动配置,你可以将它们直接注入beans中:

import org.springframework.amqp.core.AmqpAdmin;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class MyBean {

    private final AmqpAdmin amqpAdmin;
    private final AmqpTemplate amqpTemplate;

    @Autowired
    public MyBean(AmqpAdmin amqpAdmin, AmqpTemplate amqpTemplate) {
        this.amqpAdmin = amqpAdmin;
        this.amqpTemplate = amqpTemplate;
    }

    // ...

}

可以使用相似方式注入RabbitMessagingTemplate,如果定义MessageConverter bean,它将自动关联到自动配置的AmqpTemplate

如果需要的话,所有定义为bean的org.springframework.amqp.core.Queue将自动在RabbitMQ实例中声明相应的队列。你可以启用AmqpTemplate的重试选项,例如代理连接丢失时,重试默认不启用。